package com.yunyi.user.redisSevice;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @ClassName redisService
 * @Description TODO
 * @Author leizhang
 * Date 2021/8/20 11:49 下午
 * @Version 1.0
 **/
public interface RedisService {
    /**
     * @param requestParam
     * @return void
     * @Description : 设置报名人数
     * @Author : leizhang
     * @Date 11:51 下午 2021/8/20
     **/
    void setWorkerNumber(Map<String, Object> requestParam) throws Exception;

    /**
     * @param requestParam
     * @return void
     * @Description : 设置员工参工次数
     * @Author : leizhang
     * @Date 12:28 上午 2021/8/21
     **/
    void setWorkerTime(Map<String, Object> requestParam) throws Exception;

    /**
     * @return java.util.List<java.lang.String>
     * @Description : 获取剩余报名名额
     * @Author : leizhang
     * @Date 12:35 上午 2021/8/21
     **/
    Map<Object, Object> getWorkerNumber() throws Exception;

    /**
     * @param timeShiftType
     * @return void
     * @Description : 更新剩余班次名额
     * @Author : leizhang
     * @Date 1:11 上午 2021/8/21
     **/
    int updateWorkerNumber(String timeShiftType, String appId);

    Map<String, Object> updateWorkerNumber2(String timeShiftType, String appId, String oriType);

    /**
     * @param appId
     * @return void
     * @Description : 员工排队进入候选队列
     * @Author : leizhang
     * @Date 12:37 下午 2021/8/21
     **/
    void setQueuing(String type, String appId) throws Exception;

    /**
     * @param
     * @return void
     * @Description : (手动取消)候选人员离开队伍
     * @Author : leizhang
     * @Date 12:40 下午 2021/8/21
     **/
    void leaveQueue(String type, String appid) throws Exception;

    /**
     * @return void
     * @Description : 正常移除队伍
     * @Author : leizhang
     * @Date 12:50 下午 2021/8/21
     **/
    void leaveQueueProp(String type) throws Exception;

    /**
     * @param appId
     * @return int
     * @Description : 排队位置
     * @Author : leizhang
     * @Date 9:28 下午 2021/8/21
     **/
    int positionBeforeNum(String type, String appId) throws Exception;

    /**
     * @param
     * @return void
     * @Description : 报名人员离队
     * @Author : leizhang
     * @Date 11:13 下午 2021/8/21
     **/
    Object descWorkerNumber(String type, String appId) throws Exception;

    /**
     * @param
     * @return void
     * @Description : 保存用户签退时间信息
     * @Author : leizhang
     * @Date 10:18 下午 2021/8/25
     **/
    void saveAppQtInfo(String appId, String date, String orderCode);

    /**
     * @param
     * @param dateSum
     * @return void
     * @Description : 删除之前的签退信息
     * @Author : leizhang
     * @Date 10:41 下午 2021/8/25
     **/
    void removeQtInfo(String appId, String dateSum);

    Object getQtInfo(String appId, String dayTime);
}
